package com.meixiang.entity.myOrder;

import com.meixiang.util.AbStrUtil;

/**
 * @author yinsujun  Created at 2016/5/25 10:58
 */
public class OrderUtils {
    /**
     * 获取订单状态
     * @param orderState
     * @return
     */
    public static String getOrderStatus(String orderState,String evaluation_status,String refundState){
        //订单显示状态  ——  待收货，待付款，待评价，退款成功，交易完成

        //支付状态：0:待付款 ; 1:已付款


        /**
         *     订单  0,50（暂无）
         待收货：
         orderState:20、30
         待付款：
         orderState:10
         待评价：
         orderState:60
         交易完成：
         orderState:40
         *
         */
        // 订单状态：0:已取消; 10:待付款; 20:待发货; 30:待收货; 40:交易完成; 50:已提交; 60:已确认
        //||orderState.equals("50")(状态待确认)
        /**
         * 待收货：
         * orderState:30   对应状态 orderStatus:20/30
         *待付款
         * orderState:10
         * 待评价：
         * orderStatus:60  对应状态 orderStatus:40 evaluation_status:0
         * 交易完成
         * orderStatus:40
         */
        String status="无";

        if(!AbStrUtil.isEmpty(refundState)){
            if("0".equals(refundState)){
                status="已关闭";
            }else if(("1").equals(refundState)){
                status="处理中";
            }else if(("2").equals(refundState)){
                status="退款中";
            }else if(("3").equals(refundState)){
                status="完成退款";
            }
        }else {
            if (!AbStrUtil.isEmpty(orderState)) {
                if (orderState.equals("0")) {
                    status = "已取消";
                } else if (orderState.equals("10")) {
                    status = "待付款";
                } else if (orderState.equals("20")|| orderState.equals("30")) {
                    //20待发货，30待收货
                    status = "待收货";
                }
//                else if( orderState.equals("30")){
//                    status = "待收货";
//                }
                else if (orderState.equals("40")) {
                    if (!AbStrUtil.isEmpty(evaluation_status)) {
                        if ("0".equals(evaluation_status)) {
                            status = "待评价";
                        } else if ("1".equals(evaluation_status)) {
                            status = "已评价";
                        }
                    } else {
                        status = "交易完成";
                    }
                } else {
                    status = "无";
                }
            }
        }
        return status;
    }


    /**
     * 获取订单状态
     * @param orderState
     * @return
     */
    public static String getOrderStatus(String orderState,String evaluation_status){
        /**
         * 待收货：
         * orderState:30   对应状态 orderStatus:20/30
         *待付款
         * orderState:10
         * 待评价：
         * orderStatus:60  对应状态 orderStatus:40 evaluation_status:0
         * 交易完成
         * orderStatus:40
         */
        String status="无";

            if (!AbStrUtil.isEmpty(orderState)) {
                if (orderState.equals("0")) {
                    status = "已取消";
                } else if (orderState.equals("10")) {
                    status = "待付款";
                } else if (orderState.equals("20")|| orderState.equals("30")) {
                    //20待发货，30待收货
                    status = "待收货";
                }
//                else if( orderState.equals("30")){
//                    status = "待收货";
//                }
                else if (orderState.equals("40")) {
                    if (!AbStrUtil.isEmpty(evaluation_status)) {
                        if ("0".equals(evaluation_status)) {
                            status = "待评价";
                        } else if ("1".equals(evaluation_status)) {
                            status = "已评价";
                        }
                    } else {
                        status = "交易完成";
                    }
                } else {
                    status = "无";
                }
            }
        return status;
    }


    /**
     * 服务订单
     * @param orderState
     * @return
     */
    public static String getServiceOrderStatus(String orderState,String evaluation_status,String refundState){
        //订单显示状态  ——  待使用，待付款，待评价，退款成功，交易完成

        //支付状态：0:待付款 ; 1:已付款

        /**
         *     订单  0,50（暂无）
         待收货：
         orderState:20、30
         待付款：
         orderState:10
         待评价：
         orderState:60
         交易完成：
         orderState:40
         *
         *///订单状态：0:已取消;10:待付款;20:待使用;30:已使用;40:交易完成;"
        // 订单状态：0:已取消;10:待付款;20:待使用;30:已使用;40:交易完成;50:已提交;60:已确认;
        String status="无";
        if(!AbStrUtil.isEmpty(orderState)){
            if(orderState.equals("0")){
                status="已取消";
            }else if(orderState.equals("10")||orderState.equals("50")){
                status="待付款";
            }else if(orderState.equals("20")||orderState.equals("30")){
                status="待使用";
            }else if(orderState.equals("40")){
                if (!AbStrUtil.isEmpty(evaluation_status)) {
                    if ("0".equals(evaluation_status)) {
                        status = "待评价";
                    } else if ("1".equals(evaluation_status)) {//已评价  显示交易完成
                        status = "交易完成";
                    }
                } else {
                    status = "交易完成";
                }
            }else if(orderState.equals("60")){
                status="待评价";
            }else{
                status="无";
            }
        }else if (!AbStrUtil.isEmpty(refundState)){
            if(("1").equals(refundState)){
                status="处理中";
            }else if(("2").equals(refundState)){
                status="退款中";
            }else if(("3").equals(refundState)){
                status="完成退款";
            }else if(("0").equals(refundState)){
                status="已关闭";
            }
        }
        return status;
    }

//    /**
//     * 订单退款状态
//     * @param refundState
//     * @return
//     */
//    public static String getRefundStatus(String  refundState){
//        String status="无";
//        if(("1").equals(refundState)){
//            status="审核申请中";
//        }else if(("2").equals(refundState)){
//            status="正在退款中";
//        }else if(("3").equals(refundState)){
//            status="退款成功";
//        }
//        return status;
//    }

    /**
     * 是否显示退款售后按钮
     * @param orderState
     * @param refundState
     * @return
     */
    public static int  isShowRefund(String orderState,String refundState){
        // 20，30、40状态，且refundState为空，显示 退款售后。
        int type=0;//0不显示，1显示按钮，2显示提示文字
        if(!AbStrUtil.isEmpty(refundState)){
            type=2;
            return type;
        }else
        if(("20").equals(orderState)||("30").equals(orderState)||("40").equals(orderState)){
            type=1;
            return type;
        }else
            return type;
    }
    /**
     *   退款成功，状态  //退款状态：1，待处理；2，同意；3，拒绝 默认为2
     *
     *   "refundState": "退货状态",
     退款状态 1：处理中 2：退款中 3：完成退款 0：已关闭
     *
     */
    public static String getRefund(String refundState){
        String status="无";
        if("0".equals(refundState)){
            status="已关闭";
        }else if(("1").equals(refundState)){
            status="处理中";
        }else if(("2").equals(refundState)){
            status="退款中";
        }else if(("3").equals(refundState)){
            status="完成退款";
        }
        return status;
    }

    /**
     *   服务和培训订单 审核状态  //退款状态：1，处理中；2，退款中；3，完成退款 0 已关闭
     */
    public static String getServiceRefund(String refundState){
        String status="无";
        if(("1").equals(refundState)){
            status="处理中";
        }else if(("2").equals(refundState)){
            status="退款中";
        }else if(("3").equals(refundState)){
            status="完成退款";
        }else if(("0").equals(refundState)){
            status="已关闭";
        }
        return status;
    }

    /**
     * 关键词组拼接
     * @param specInfo
     * @return
     */
    public static String getSpecInfo(String specInfo){
        if(!AbStrUtil.isEmpty(specInfo)){
            String spec=specInfo;
            if(spec.contains("[")){
                spec=spec.replace("[","");
            }
            if(spec.contains("]")){
                spec=spec.replace("]","");
            }
            if(spec.contains(",")){
                spec=spec.replace(","," ");
            }
            return  spec;
        }else{
            return "";
        }
    }



}
